Event Commands:
First byte is always the command ID
Second byte is always the command length
There are 176 different event commands, many of which have variants within them
----------------------

0x00: End event

0x01: Null event?
	Just advances the event offset by the value in $1...

0x05: Load dialogue text, open text box
	0x8 bytes long
	$2-3: Dialogue ID
	$4: If nonzero, place text box at bottom of screen
	$5-7: Unused?

0x06: Close text box?
	0x4 bytes long
	$3: If nonzero, wait for player to press A first

0x09: Wait for a time
	0x4 bytes long
	$2-3: Number of frames to wait for

0x0C: Jump to offset
	0x8 bytes long
	$4: Offset to read next event from

0x0D: Jump to one of two offsets?
	0xC bytes long
	$2: Some param
	$3: Filler
	$4: Jump dest #1
	$8: Jump dest #2

0x11: Music/sound-related commands
	0x8 bytes long
	$2: Mode
		$00: Play sound of ID param+$4-5
		$01: Play music of ID param+$4-5
		$02: Copy +$44 (in stack data) to +$42, and play music
		$03: Play music of ID from +$42 in stack
		$04: Return to previous music where you left off?
		$05: Music fade?
		$06: Music fade 2?
		$07: Do nothing
		$08: Do nothing
		$09: Wait until sound effect is finised, then move on
		$0A: Wait until music track is finished playing, then move on (for fanfares etc)
		$0B: Do nothing
		$0C: Set bit 0x1000 on +$48
		$0D: Clear bit 0x1000 on +$48
		$0E: ?
		$0F: ?
	$4-5: Music/Sound ID
	$6-7: Padding

0x12: Load PC sprite
	0x8 or 0xC bytes long, depending
	$2: Which PC to load sprite for; 0-3
	$3: Coordinate mode:
		0x0: Use coords specified in $6, $8
		0x1: Use party leader's current coords
		Otherwise use (00, 00)
	$4: Nothing..?
	$6: May be X-coord depending on mode
	$8: May be Y-coord depending on mode
	

0x14: Remove sprite?
	0x4 bytes long
	$2: Sprite to remove
	$3: Mode; if 0x1, add 0x20 to param $2

0x15: Move party
	0x8 bytes long
	$2: Number of tiles to move
	$3: Speed index
		0x0 = Normal
		0x1 = Fast
		0x2 = Really fast
		0x3 = Slow
	$4-7: Direction to move
		0x0 = Down
		0x1 = Up
		0x2 = Right
		0x3 = Left

0x16: Hide/reveal party leader
	0x4 bytes
	$2: If 0x0, hide leader; else reveal them

0x18: Shift NPC of given ID
	0x8 bytes long
	$2: ID of sprite to shift; ID is based on order sprites were loaded in
	$3: Mode; if 0x1, shift along Y; if 0x0, shift along X
	$4: Distance to move, in pixels

0x1B: Fade in to blackness or out of it
	0x8 bytes long
	$2: 0x0 to fade in, 0x1 to fade out
	$3: Fade timer; higher values are slower
	$4-5: What to fade
		0xFFFF: Whole screen
		0xFF00: NPCs
		0x8EFF: All but Player Character
		0x7100: Player Character
		0x00FF: Map only
	$6: Amount of fade; 0x20 is the max; also influences time spent fading
	$7: Padding

0x1C: (Something NPC-related)
	0x4 bytes long

0x1F: Change sprite's animation frame
	0x4 bytes long
	$2: Sprite to target
	$3: Animation frame to set

0x26: Change party facing/orientation
	0x4 bytes long
	$2: New orientation

0x27: Write dialogue text
	0x4 bytes long

0x2A: Chapel/Inn price determination, money checking and modification
	0x4 or 0x8 bytes long
	$2: Mode
		0x0: Store $4 into MapMem stack struct
		0x1: Store inn price to sstruct depending on map ID
		0x2: Store revival price to sstruct depending on map ID
		0x3: Jump to command at loc privided by param $4 if gil on hand < sstruct price
			else move to next command
		0x4: Subtract stored price from party gil
		0x5: Add stored price to party gil
	($4: If Mode 0x0, 0x3, this is a second param) 

0x2D: Bitfield check/modify, and possible conditional jump
	0x8 or 0x4 bytes long...depends on if it's a conditional or just modifying a state bit
	If the conditional fails, move to the next command; else jump to the command of location indicated in +$4
	$2: ID to check
	$3: Conditional type (checking event IDs, stack data...)
		-Checks IDth bit in VarMem+$174 (main game event states); if set, fails
	($4-7: Alternate destination pointer)

0x2E: Remove event trigger
	0x4 bytes long
	$2-3: Event ID to remove

0x30: Various NPC/Sprite actions
	0x4 bytes long? May differ...
	$2: Mode; 00-0A accepted
		0x2: Hide sprite
		0x4: Remove collision for sprite
	$3: Sprite ID

0x34: Wait for fade?
	0x4 bytes long

0x36: Remove all map features and NPCs of a specified event ID
	$2: Event ID to remove; low byte of checked features is masked out to 00

0x37: Item giving, taking, conditional jumping
	0x4 or 0x8 bytes long
	$2: Mode; set bit 0x80 to index to the dwarf trading quest stuff for SoC
		-otherwise, indexes to event item table at $2183B4
		0x0: Add item to inventory (1x)
		0x1: Remove item from inventory (1x)
		0x2: If item is in inventory, advance to next command; else jump
		to command pointed by param $4
	$3: Index of item (or index to trade quest)
	($4: Under mode 2, event offset to jump to if item does not found)

0x39: Modify party's HP/MP/status
	0x4 bytes long
	$2: Action type:
		0x0: (nothing)
		0x1: (nothing)
		0x2: Sleeping Bag/Tent/Cottage heal all Light Warriors
		0x3: Revive given character; use param 0xFF for predetermined
		0x4: Modify all living PCs' HP/MP:
			0x0: Maximize HP
			0x1: Maximize MP
			0x2: Set HP to 1
			0x3: Set MP to 0
	$3: Parameter (character ID, sleeping bag/tent/cottage type etc)

0x3B: Wait for party to finish moving
	0x4 bytes long

0x42: Jump to one of three places in event execution depending on party facing
	or if you're facing down, move to next event
	0x10 bytes
	$4: Up-facing jump destination
	$8: Right-facing destination
	$C: Left-facing destination

0x60: ?Used in "Sarah stops you to give the Lute" event...
	0x4 bytes
	$2: param 1

0x76: Change NPC sprite?
	0x8 bytes long
	$2-3: Param 1; can be event ID of NPC to search for?
	$4: New Map Sprite ID
	$5: Searching mode?
	$6-7: Filler?